<?php

include_once '..\clases\ConexionBD.php';

include_once '..\clases\Paciente.php';
include_once '..\daos\PacienteDAO.php';

include_once '..\clases\Acudacom.php';
include_once '..\daos\AcudacomDAO.php';

include_once '..\clases\Antecedentes.php';
include_once '..\daos\AntecedentesDAO.php';

include_once '..\clases\DataMujer.php';
include_once '..\daos\DataMujerDAO.php';

include_once '..\clases\MotivoEnfermedad.php';
include_once '..\daos\MotivoEnfermedadDAO.php';

include_once '..\clases\RevisionSistemas.php';
include_once '..\daos\RevisionSistemasDAO.php';

include_once '..\clases\ExamenFisico.php';
include_once '..\daos\ExamenFisicoDAO.php';

include_once '..\clases\ExamenGeneral.php';
include_once '..\daos\ExamenGeneralDAO.php';

include_once '..\clases\DinamicoPatologico.php';
include_once '..\daos\DinamicoPatologicoDAO.php';

include_once '..\clases\ExamenComplementario.php';
include_once '..\daos\ExamenComplementarioDAO.php';

include_once '..\clases\Tratamiento.php';
include_once '..\daos\TratamientoDAO.php';

include_once '..\clases\Diagnostico.php';
include_once '..\daos\DiagnosticoDAO.php';


session_start();

if ($_SERVER['REQUEST_METHOD'] === 'POST' || isset($_POST['bttnCancelar']) || isset($_POST['bttnGuardar']) ) {


    if (isset($_POST['bttnCancelar'])) {
        
        //recuperar datos importantes
        $conexionBD = unserialize($_SESSION['conexionBD']);/*@var $conexionBD ConexionBD*/
        $listaciudades = $_SESSION['listaHTMLCiudadDepa'];
        
        //borrar todo los datos
        session_unset ();
        
        //volver  a guardar los datos importanes
        $_SESSION['conexionBD'] = serialize($conexionBD);
        $_SESSION['listaHTMLCiudadDepa'] = $listaciudades;
        $_POST['accion'] = "buscar";
        
        session_write_close();
        
        header('Location: ../principal.php');
        exit();
        
    }elseif(isset($_POST['bttnGuardar'])){

        $resultado = filter_input(INPUT_POST,'resultado');
        
        $conexionBD = unserialize($_SESSION['conexionBD']);/*@var $conexionBD ConexionBD*/
       
        //Fecha del formulario
        $fechadeHoy = filter_input(INPUT_POST,'fechahoy');
        
        //Datos del paciente
        $paciente = new Paciente();
        $paciente->setApellidos(filter_input(INPUT_POST,'apellidos'));
        $paciente->setCelular(filter_input(INPUT_POST,'telcelular'));
        $paciente->setDireccion(filter_input(INPUT_POST,'dirybarrio'));
        $paciente->setEdad(filter_input(INPUT_POST,'edad'));
        $paciente->setEmail(filter_input(INPUT_POST,'email'));
        $paciente->setEstadoCivil(filter_input(INPUT_POST,'estadocivil'));
        $paciente->setFechaNacimiento(filter_input(INPUT_POST,'fechanacimiento'));
        $paciente->setLugarNacimiento(filter_input(INPUT_POST,'lugarnacimiento'));
        $paciente->setNombres(filter_input(INPUT_POST,'nombres'));
        $paciente->setNumDocumento(filter_input(INPUT_POST,'numid'));
        $paciente->setOcupacion(filter_input(INPUT_POST,'ocupacion'));
        $paciente->setSexo(filter_input(INPUT_POST,'sexo'));
        $paciente->setTelOficina(filter_input(INPUT_POST,'teloficina'));
        $paciente->setTelefono(filter_input(INPUT_POST,'telresidencia'));
        $paciente->setTipoDocumento(filter_input(INPUT_POST,'tipoid'));

        if(filter_input(INPUT_POST,'eps') == "NINGUNA"){
            $paciente->setVinculacion(null);
            $paciente->setEps(null);
        }elseif(filter_input(INPUT_POST,'eps') == "OTRA"){
            $paciente->setVinculacion(filter_input(INPUT_POST,'vinculacion'));
            $paciente->setEps(filter_input(INPUT_POST,'cual')); 
        }else{
            $paciente->setVinculacion(filter_input(INPUT_POST,'vinculacion'));
            $paciente->setEps(filter_input(INPUT_POST,'eps')); 
        }

        $pacienteDAO = new PacienteDAO($conexionBD);
        if($resultado == "encontro"){
            $pacienteDAO->actualizarPaciente($paciente);
        }else{
            $pacienteDAO->guardarPacienteNuevo($paciente);
        }
        //Datos de acudiente y acompañante
        $acudientecamponiante = new Acudacom();
        $acudientecamponiante->setNitPaciente($paciente->getNumDocumento());
        $acudientecamponiante->setFechaConsulta($fechadeHoy);
        
        if( isset($_POST['hayacudiente']) ){
            $acudientecamponiante->setNombreAcudiente(filter_input(INPUT_POST,'nombreacudiente'));
            $acudientecamponiante->setParentezcoAcudiente(filter_input(INPUT_POST,'parentezcoacudiente'));
            $acudientecamponiante->setTelefonoAcudiente(filter_input(INPUT_POST,'telacudiente'));
            $acudientecamponiante->setTieneAcudiente("S");
        }else{
            $acudientecamponiante->setNombreAcudiente(null);
            $acudientecamponiante->setParentezcoAcudiente(null);
            $acudientecamponiante->setTelefonoAcudiente(null);
            $acudientecamponiante->setTieneAcudiente("N");
        }
        
        if( isset($_POST['hayacomponante'])){
            $acudientecamponiante->setNombreAcompaniante(filter_input(INPUT_POST,'nombreacompanante'));
            $acudientecamponiante->setParentezcoAcompaniante(filter_input(INPUT_POST,'parentezcoacomp'));
            $acudientecamponiante->setTelefonoAcompaniante(filter_input(INPUT_POST,'telacompanante'));
            $acudientecamponiante->setTieneAcompaniante("S");
        }else{
            $acudientecamponiante->setNombreAcompaniante(null);
            $acudientecamponiante->setParentezcoAcompaniante(null);
            $acudientecamponiante->setTelefonoAcompaniante(null);
            $acudientecamponiante->setTieneAcompaniante("N");
        }
        
        $acudacomDA0 = new AcudacomDAO($conexionBD);
        $acudacomDA0->guardarAcudacomNuevo($acudientecamponiante);
        
        //Datos antecedentes
        $antecedentes = new Antecedentes();
        $antecedentes->setNitPaciente($paciente->getNumDocumento());
        $antecedentes->setFechaConsulta($fechadeHoy);
        $antecedentes->setAnteFamiliares(filter_input(INPUT_POST,'familiares'));
        $antecedentes->setAntePersonales(filter_input(INPUT_POST,'personales'));
        $antecedentes->setAnteQuirurgicos(filter_input(INPUT_POST,'quirugicos'));
        
        $antecedentesDAO = new AntecedentesDAO($conexionBD);
        $antecedentesDAO->guardarAntecedentesNuevo($antecedentes);
        
        //Datos motivos y consultas
        if($paciente->getSexo() == 'F'){
            $datamujer = new DataMujer();
            $datamujer->setNitPaciente($paciente->getNumDocumento());
            $datamujer->setFechaConsulta($fechadeHoy);
            $datamujer->setGinecobstetricos(filter_input(INPUT_POST,'ginecobstetricos'));
            
            $datamujer->setAños(filter_input(INPUT_POST,'anios'));
            $datamujer->setCiclos(filter_input(INPUT_POST,'ciclos'));
            $datamujer->setFur(filter_input(INPUT_POST,'fur'));
            $datamujer->setFup(filter_input(INPUT_POST,'fup'));
            $datamujer->setGestaciones(filter_input(INPUT_POST,'gestaciones'));
            $datamujer->setPartos(filter_input(INPUT_POST,'partos'));
            $datamujer->setAbortos(filter_input(INPUT_POST,'abortos'));
            $datamujer->setCesareas(filter_input(INPUT_POST,'cesareas'));
            $datamujer->setQx(filter_input(INPUT_POST,'qx'));
            $datamujer->setPlanificacion(filter_input(INPUT_POST,'planificacion'));
            $datamujer->setCitologia(filter_input(INPUT_POST,'citologia'));
            if( $datamujer->getCitologia() == "SI" ){
                $datamujer->setFechaCita(filter_input(INPUT_POST,'fechacitologia'));
                $datamujer->setFlujo(filter_input(INPUT_POST,'flujo'));
            }else{
                $datamujer->setFechaCita(null);
                $datamujer->setFlujo(null);
            }
            
            $datamujerDAO = new DataMujerDAO($conexionBD);
            $datamujerDAO->guardarDataMujerNuevo($datamujer);
        }  
        
        //Motivo Consulta y Enfermedad Actual
        $motivoyenfermedad = new MotivoEnfermedad();
        $motivoyenfermedad->setNitpaciente($paciente->getNumDocumento());
        $motivoyenfermedad->setFechaconsulta($fechadeHoy);
        $motivoyenfermedad->setMotivoyenfermedad(filter_input(INPUT_POST, 'motivoconsulta'));
        
        $motivyenfeDAO  = new MotivoEnfermedadDAO($conexionBD);
        $motivyenfeDAO->guardarMotivoEnfermedadNuevo($motivoyenfermedad);
        
        //Datos revisión de sistemas
        $revisionsistemas = new RevisionSistemas();
        $revisionsistemas->setNitPaciente($paciente->getNumDocumento());
        $revisionsistemas->setFechaConsulta($fechadeHoy);
        
        $revisionsistemas->setDigestivo(filter_input(INPUT_POST,'sdigestivo'));
        $revisionsistemas->setCardioVascular(filter_input(INPUT_POST,'scardiovascular'));
        $revisionsistemas->setRespiratorio(filter_input(INPUT_POST,'srespiratorio'));
        $revisionsistemas->setGenitourinario(filter_input(INPUT_POST,'sgenitourinario'));
        $revisionsistemas->setOsteomuscular(filter_input(INPUT_POST,'sosteomuscular'));
        $revisionsistemas->setEndocrina(filter_input(INPUT_POST,'sendocrino'));
        $revisionsistemas->setNervioso(filter_input(INPUT_POST,'snervioso'));
        $revisionsistemas->setPsicosomatico(filter_input(INPUT_POST,'psicosomatico'));
        
        $revsisDAO = new RevisionSistemasDAO($conexionBD);
        $revsisDAO->guardarRevisionSistemasNuevo($revisionsistemas);
        
        //Examen Físico
        $examenfisico = new ExamenFisico();
        $examenfisico->setFechaConsulta($fechadeHoy);
        $examenfisico->setNitPaciente($paciente->getNumDocumento());
        $examenfisico->setSistole(filter_input(INPUT_POST,'sistole'));
        $examenfisico->setDiastole(filter_input(INPUT_POST,'diastole'));
        $examenfisico->setFrecuenciaCardiaca(filter_input(INPUT_POST,'freccard'));
        $examenfisico->setFrecuenciaRespiratoria(filter_input(INPUT_POST,'frecresp'));
        $examenfisico->setPeso(filter_input(INPUT_POST,'peso'));
        $examenfisico->setTalla(filter_input(INPUT_POST,'talla'));
        $examenfisico->setTemperatura(filter_input(INPUT_POST,'preionart'));
        
        $examfisiDAO = new ExamenFisicoDAO($conexionBD);
        $examfisiDAO->guardarExamenFisiconNuevo($examenfisico);
        
        //Examen Físico General
        $examengeneral = new ExamenGeneral;
        $examengeneral->setFechaConsulta($fechadeHoy);
        $examengeneral->setNitPaciente($paciente->getNumDocumento());
        $examengeneral->setCabeza(filter_input(INPUT_POST,'cabeza'));
        $examengeneral->setCuello(filter_input(INPUT_POST,'cuello'));
        $examengeneral->setTorax(filter_input(INPUT_POST,'torax'));
        $examengeneral->setAbodmen(filter_input(INPUT_POST,'abdomen'));
        $examengeneral->setPelvis(filter_input(INPUT_POST,'pelivs'));
        $examengeneral->setExtremidades(filter_input(INPUT_POST,'extremidades'));
        
        $examengeneralDAO = new ExamenGeneralDAO($conexionBD);
        $examengeneralDAO->guardarExamenGeneralNuevo($examengeneral);
        
        //Dinamica Patologica
        $dinapato = new DinamicoPatologico();
        $dinapato->setNitPaciente($paciente->getNumDocumento());
        $dinapato->setFechaConsulta($fechadeHoy);
        $dinapato->setDescripcionDP(filter_input(INPUT_POST,'dinampato'));
        
        $dinapatoDAO = new DinamicoPatologicoDAO($conexionBD);
        $dinapatoDAO->guardarDianPatoNuevo($dinapato);
        
        //Diagnostico
        $diagnostico = new Diagnostico();
        $diagnostico->setNitPaciente($paciente->getNumDocumento());
        $diagnostico->setFechaConsulta($fechadeHoy);
        $diagnostico->setDescripcionDiag(filter_input(INPUT_POST,'diagnostico'));
        $diagnostico->setCie10(filter_input(INPUT_POST,'cie10'));
        $diagnostico->setTipoDiagnostico(filter_input(INPUT_POST,'tipodiag'));
        
        $diagnosticoDAO = new DiagnosticoDAO($conexionBD);
        $diagnosticoDAO->guardarDiagnosticoNuevo($diagnostico);
        
        //Examen Complementarios
        $examcomp = new ExamenComplementario();
        $examcomp->setNitPaciente($paciente->getNumDocumento());
        $examcomp->setFechaConsulta($fechadeHoy);
        $examcomp->setExamenDescripcion(filter_input(INPUT_POST,'examcomp'));
        
        $examcompDAO = new ExamenComplementarioDAO($conexionBD);
        $examcompDAO->guardarExamenCompNuevo($examcomp);
        
        //Tratamiento
        $tratamiento = new Tratamiento();
        $tratamiento->setNitPaciente($paciente->getNumDocumento());
        $tratamiento->setFechaConsulta($fechadeHoy);
        $tratamiento->setTratamientoDesc(filter_input(INPUT_POST,'tratamiento'));
        
        $tratamientoDAO = new TratamientoDAO($conexionBD);
        $tratamientoDAO->guardarTratamientoNuevo($tratamiento);
 
        $docTrata = $paciente->getNumDocumento();
        $queryTratamientos = "SELECT  `FECHACONS` ,  `TRATADESC` 
                                FROM  `tratamiento` 
                                WHERE  `NITPACIENTE` =  '$docTrata'
                                ORDER BY  `FECHACONS` DESC ";
        
        $conexionBD->abrirConexion();
        $resultadoTrata = mysql_query($queryTratamientos,$conexionBD->getConexion());
        $codigo = "";
        while($row = mysql_fetch_array($resultadoTrata)) {
                    $codigo = $codigo . '<tr><td align="center">'.$row[0].'</td><td align="center">'.$row[1].'</td></tr>';
        }
        $conexionBD->cerrarConexion();
        echo $codigo;
        $_SESSION['listaTratamiento'] = $codigo;
        
        $_SESSION['consNit'] = $paciente->getTipoDocumento() . " " . $paciente->getNumDocumento();
        $_SESSION['conNombre'] = $paciente->getNombres() . " " .$paciente->getApellidos();
        $_SESSION['conTrata'] = $tratamiento->getTratamientoDesc();
        
        session_write_close();
        
        header('Location: ../formularios/FormularioEvoTratamiento.php');
        exit();
    }
}   

?>
